1. Field of the Invention
The present invention relates to a controller for controlling a manipulator including an industrial robot or the like. More particularly, the present invention relates to a safety operation system for a manipulator, which permits the operator to manually operate the manipulator in safety while simultaneously looking at a display that shows how the manipulator is moving in response to the operator's manual operation.
2. Description of the Related Art
In general, an industrial robot has such a structure as is shown in FIG. 5.
Referring to FIG. 5, numeral 100 denotes a control panel which stores positional information, working condition information, etc., and which plays back the information.
Numeral 200 denotes a teaching box (T-BOX) which teaches a moving direction, a moving distance, a working condition, etc. to the control panel 100. Conventionally, the teaching box 200 has such a structure as is shown in FIG. 6. In FIG. 6, numeral 201 denotes a step number display section for displaying step numbers respectively assigned to teaching steps.
Numeral 202 in FIG. 6 denotes a teaching item selection switch used for designating an item of teaching. The teaching items selectable by the teaching item selection switch 202 correspond to functions of the robot's main body 300. For example, the moving conditions, such as a target position, a linear movement, a circular movement, etc., and the working conditions can be designated by the teaching item selection switch 202.
Numeral 203 denotes a manual switch used for individually controlling the directions of axes of the robot's main body 300 at the time of teaching. In the case where a rectangular robot is controlled, the manual switch 203 is provided with a movement instruction switch used for moving the X, Y and Z axes and moving the .theta. and .PSI. axes of a wrist. In the case where an articulated robot is controlled, such as that depicted in FIG. 5, the manual switch 203 is provided with a movement instruction switch used for moving the axis of swing and moving the .theta. and .PSI. axes of a lower arm, an upper arm and a wrist.
Numeral 204 denotes a teaching push button switch, and numeral 205 denotes a storage instruction switch used for supplying the information determined by the teaching operation to the control panel and for storing the information in the control panel.
Numeral 206 denotes a display lamp for displaying the teaching item selected.
Turning back to FIG. 5, Numeral 300 denotes the robot's main body. The operation of the robot's main body 300 is determined by the instructions supplied from the teaching box 200, or by the driving instructions obtained by performing predetermined processing with respect to the information which are read out from the control panel 100 at the time of a playback operation.
FIG. 7 shows an example of a control device. In the control device shown in FIG. 7, the teaching box is provided with a display section and a display controller.
Referring to FIG. 7, numeral 210 denotes a display section, numeral 211 denotes a display memory section for storing combinations of display characters along with step numbers, and numeral 212 denotes a display controller for reading out storage contents from the display memory section 211 in response to an instruction supplied from either an operation-key section 213 or the control panel 100. The display controller 212 supplies the readout storage contents to the display section 210. When the instruction from the operation-key section 213 is supplied to the display controller 212, the contents of that instruction are first confirmed and determined. Then, the display characters corresponding to the contents of the instruction are read out from the display memory section 21, and the teaching contents are displayed on the display section 210 together with the corresponding step number. The instruction from the operation-key section 213 is supplied also to the control panel 100, so as to drive the robot's main body 300. When the robot's main body 300 is driven, the data on the display section 210 is shifted to the left by one column, and the data on the last and present steps are updated under the control of the display controller 212. To read out a step number for a block operation or for the correction of teaching contents, data on the block operation is entered from the operation-key section 213. Upon entry of the data, a playback operation is executed for each step. In response to this playback operation, the display controller 212 reads out data from the display memory section 211 and controls the display section 210 to shift the display data from right to left so as to permit the teaching contents of the steps to be successively displayed on the display section 210. At the time of an automatic playback operation, the teaching contents are successively displayed in a similar manner on the basis of a step advancing signal supplied from the control panel 100.
In the computer system mentioned above, the teaching box 200 is operated before starting a working operation. To be specific, the robot's main body 300 is manually operated while visually confirming the tip end of the working tool of the robot's main body 300, in such a manner that the tip end of the working tool is moved along a working line of a workpiece. Then, a teaching operation is performed while manually operating the robot's main body. In the teaching operation, the data on the working conditions, in accordance with which the workpiece is worked, and data on the procedures for moving the tip end of the working tool of the robot's main body, are stored in the internal memory means of the control panel 100.
After the end of the teaching operation to the robot's main body, an automatic operation, i.e., a playback operation, is executed on the basis of the data stored in the internal memory means of the control panel 100. In the automatic operation, the control panel 100 reads out the positional data on the working line and the data on the working conditions from the internal memory means, performs predetermined processing with respect to the readout data, and supplies the signals obtained by the processing to the robot's main body as driving signals. Upon reception of the driving signals, the robot's main body 300 performs a playback operation in such a manner that the tip end of the working tool moves exactly in the same way as instructed in the teaching operation.
When the manual operation of the robot's main body is required, the operator operates the manual switch 203 and the operation-key section 213.
A conventional manipulator has such a structure as is shown in FIG. 8. (An example of such a structure is disclosed in Japanese Patent Application KOKAI Publication No. 2-198778, for example.)
Referring to FIG. 8, reference symbols 514A to 514C denote position sensors provided at the joints of a master arm 501. The signals of position sensors 514A to 514C are processed by a master arm input/output device 504 and are then supplied to a central processing unit 505. Reference symbols 515A to 515C denote position sensors provided at the joints of a slave arm 502. The signals of position sensors 515A to 515C are processed by a slave arm input/output device 506 and are then supplied to the central processing unit 505.
The central processing unit 505 converts the signals of the position sensors into signals for use in generalized coordinates. In addition, the central processing unit 505 receives instructions from a coordinates conversion-adding device 518 and converts them into signals for use in second generalized coordinates, thus determining designation values to be supplied to the slave arm 502. Signals representing the designation values are supplied from the central processing unit 505 to the slave arm input/output device 506, so as to drive actuators 516A to 516C provided at the joints of the slave arm 502.
Simultaneously, the central processing unit 505 supplies signals to an animation simulator 511, so as to control a graphic display 512 to display an animation image of the slave arm 502.
Reference symbols 517A to 517C in FIG. 8 denote position sensors for sensing the angle of a joy stick 507. The signals of position sensors 517A to 517C are processed by a joy stick input/output device 508 and are then supplied to the central processing unit 505. When determining instructions to the slave arm 502, the central processing unit 505 determines which signals, namely signals supplied from the master arm 501 or signals supplied from the joy stick 507, should be referred to, on the basis of a switching signal externally supplied to the central processing unit 505.
An image entered by an image input device 509 is supplied to an image processing device 510, and the image processing device 510 performs an FFT arithmetic operation and pattern identification are performed with respect to the supplied image, such that a real image is displayed on a TV monitor 513. The real image is supplied also to the animation simulator 511. When necessary, the real image is superimposed on the animation image displayed on the graphic display 512.
As can be understood from the above, the operator can operate the master arm 501 while simultaneously looking at the slave arm 502 displayed on the TV monitor 513. The operator operates the slave arm 502, with the movement of the slave arm 502 sensed by position sensors 514A to 514C and with the signals of the position sensors converted into operation signals by the central processing unit 505.
In the conventional teaching box for industrial robots, the keys have a play, and do not produce signals unless they are fully depressed.
In the conventional safety operation system for industrial robots, some of the keys are provided with small-sized return springs. Since the keys may not reliably return to their original positions after they are depressed, the operator is not always sure whether or not instructions have been accurately supplied to the robot's main body by operating the keys.
If something is wrong with position sensors 514A to 514C in the conventional safety operation system, erroneous signals are supplied to the slave arm 502 even when the master arm 501 is operated accurately. In this case, the slave arm 502 does not move in the manner intended by the operator. Since the operator cannot understand the reason for the unintended movement of the slave arm 502, the operator may feel uneasy during the operation.